import { Router } from 'vue-router';
import { getStorage } from '.';

/**
 * 封装路由拦截
 * @param router vue-router 实例
 * @param getToken 获取 token 的函数
 */
export function setupRouterGuard(router: Router) {
  router.beforeEach((to, from, next) => {
    const token = getStorage('token');
    console.log('token ===> ', token);
    console.log('to.path ===> ', to.path);
    if (token) {
      // 已登录，访问 /login 或 / 时跳转到 /AI
      if (to.path === '/login' || to.path === '/') {
        return next({ path: '/AI', replace: true });
      }
      return next();
    }

    // 未登录，允许访问公开页面
    if (to.meta.public) {
      return next();
    }

    // 未登录且访问受限页面，重定向到登录页
    return next({ path: '/login', replace: true });
  });
}
